Printing apparatus, method of controlling same, information processor connected thereto, system and storage medium

ABSTRACT

Disclosed is a readily expandable printing apparatus which, despite having only a small memory capacity, is applicable to a number of types of printing processing. On the basis of the type of ink cartridge loaded in the printing apparatus and the content of information that is to be printed, a host computer retrieves from its own memory a program to be run in the printing apparatus. The host computer then transfers the retrieved program to the printing apparatus. The later stores the transferred program in an internal RAM and, when print data has been transferred from the host computer, executes the program.

BACKGROUND OF THE INVENTION

[0001] This invention relates to a printing apparatus, a method of controlling the same, an information processor connected thereto, a method of controlling the information processor, and a related storage medium.

[0002] Printers of the kind that discharge liquid ink include those that allow a cartridge of one type (an ink tank or a unit that is a combination of an ink tank and printing head) to be exchanged for another, after which printing is performed in conformity with the particular type of ink cartridge. Examples of such ink cartridges are monochromatic ink cartridges, color ink cartridges and, in some cases, low-density ink cartridges. (Low-density ink cartridges are suitable for forming grayscale images by performing a plurality of printing cycles.)

[0003] A variety of printing processing types (printing modes) are available. For example, there are printing modes in which printing is completed by a single pass or by a plurality of passes, and in which printing is performed by moving a carriage in one direction or back and forth in two directions.

[0004] Thus, the printing processing that is executed depends not only upon the type of ink cartridge but also upon the combination of cartridge type and printing mode.

[0005] According to the prior art, a printer capable of performing printing in a number of printing modes has a memory in which a program for each type of printing processing is stored in advance, and printing is executed by switching among the programs in appropriate fashion. However, a problem with such a printer is higher cost because of the need for a large-capacity memory to store the programs.

[0006] Further, since the programs are stored permanently in a ROM or the like, printing processing suited to a new type of ink cartridge cannot be executed.

SUMMARY OF THE INVENTION

[0007] Accordingly, an object of the present invention is to provide a readily expandable printing apparatus capable of being applied to a number of types of printing processing despite having only a small memory capacity, an information processor connected to this apparatus, a method of controlling the information processor and a related printing medium.

[0008] According to the present invention, the foregoing object is attained by providing a printing apparatus for printing an image using prescribed printing means based upon print data that has been transferred from a host, comprising storage means for storing, in a prescribed memory, a processing program that has been transferred from the host, and control means for causing the print data to be processed in accordance with a processing program, which has been stored by the storage means, if the print data has been transferred from the host.

[0009] Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010]FIG. 1 is a diagram showing the basic arrangement of a printing system according to embodiments of the present invention;

[0011]FIG. 2 is a block diagram of a printing system according to a first embodiment of the present invention;

[0012]FIG. 3 is a flowchart illustrating the procedure of an operation performed on the side of a host computer according to the first embodiment;

[0013]FIG. 4 is a flowchart illustrating the procedure of an operation performed on the side of the printing apparatus according to the first embodiment;

[0014]FIG. 5 is a flowchart illustrating the procedure of an operation performed on the side of a host computer according to the first embodiment;

[0015]FIG. 6 is a flowchart illustrating the procedure of an operation performed on the side of the printing apparatus according to the first embodiment;

[0016]FIG. 7 is a flowchart illustrating the procedure of an operation performed on the side of the printing apparatus according to the first embodiment;

[0017]FIG. 8 is a block diagram of a printing system according to a second embodiment of the present invention;

[0018]FIG. 9 is a diagram illustrating the content of the database of a processing program managed on the side of a host computer according to the embodiments of the present invention;

[0019]FIG. 10 is a perspective view showing the mechanism of a printing apparatus according to the embodiments;

[0020]FIGS. 11A, 11B are diagrams showing the head portions of ink-jet cartridges;

[0021]FIG. 12 is a block diagram of a printing system according to a third embodiment of the present invention;

[0022]FIG. 13 is a diagram illustrating an example of a display for registering a program in a host computer; and

[0023]FIGS. 14A, 14B are perspective views illustrating a scanner cartridge and an ink cartridge, respectively, according to a fourth embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0024] Embodiments of the present invention will be described in detail with reference to the accompanying drawings.

[0025]FIG. 1 is a diagram showing the arrangement of a printing system according to embodiments of the present invention. The system includes a printing apparatus 101 and a host computer (which includes a monitor 104) 102. The printing apparatus 101 and host computer 102 are connected by a bidirectional communication cable 103.

[0026] The host computer 102 may be a general-purpose computer such as a personal computer or work station. The cable 103 is connected to bidirectional communication interfaces of the printing apparatus 101 and host computer 102. (An example of these interfaces is the bidirectional Centronics interface, which is a functional extension of the interface developed by Centronics Corporation.)

[0027]FIG. 2 is a block diagram illustrating a printing system according to a first embodiment of the present invention.

[0028] The printing apparatus 101 comprises a main unit and an ink cartridge section 108 which includes a model code memory 109 in which the type of ink cartridge is recorded. The main unit of the printing apparatus 101 includes a control processing unit (a CPU) 105 for processing print data and controlling the printing apparatus; information storing means (aROM) 106 in which only basic soft ware for controlling the power supply of the printing apparatus as well as communication with the apparatus and a code indicative of the type of printing apparatus are stored in advance; information storing means (a RAM) 107 for temporarily storing various results of processing, receiving and buffering print data that has been transmitted from the host computer 102, and storing printing apparatus drive control software received from the host computer 102; an ink-cartridge type sensing unit 110 for sensing the type of ink cartridge; an ink discharge control circuit 111 for driving and controlling nozzles provided in an ink cartridge; a printing apparatus bidirectional communication interface 112 for inputting and outputting information to and from the host computer 102; a carriage (CR) motor control circuit 116 for moving a carriage, on which an ink cartridge has been mounted, back and forth; and a paper line-feed (LF) motor control circuit 117 for transporting printing paper.

[0029] Though it will depend upon the specifications of the particular ink cartridge, the ink-cartridge type sensing unit 110 may be constituted by any means so long as it is capable of sensing the type of ink cartridge electrically or optically.

[0030] According to this embodiment, a freely replaceable ink cartridge (a combination of a printing head and ink tank) is provided not only with a plurality of electrodes for receiving printing drive signals but also a plurality of electrodes which output information indicating the type of ink cartridge.

[0031] The host computer 102 includes a processor/controller (CPU) 113 for administering overall control of the apparatus; a display unit 104; a storage device 115 for storing the printer driver programs of this embodiment as well as the operating system and various applications; and an interface 114 for communicating with the printing apparatus 101. As set forth above, the host computer 102 according to this embodiment is contemplated as being a general-purpose computer. Accordingly, the host computer 102 naturally is equipped with a keyboard and pointing device, a RAM serving as a memory device and an external storage device, etc. It should be noted that the host computer 102 is not limited to a general-purpose computer but may be a device such as a word processor as a matter of course.

[0032]FIG. 10 is a perspective view showing a printing mechanism in accordance with this embodiment.

[0033] As shown in FIG. 10, a carriage HC is engaged with a helical groove 5004 of a lead screw 5005 rotated via driving force transmission gears 5011, 5009 inoperative association with the forward and reverse rotation of a carriage motor 5013 (driven by the carriage motor control circuit 116). The carriage HC has a pin (not shown) moved back and forth in directions of arrows a and b. An ink-jet cartridge IJC is mounted on the carriage HC. Electrodes (not shown) for connection to electrodes provided on the surface of the ink cartridge IJC are provided. A paper retaining plate 5002 presses printing paper P against a platen 5000 along the traveling direction of the carriage. Photocouplers 5007, 5008 constitute home position sensing means for verifying the presence of a carriage lever 5006 in the vicinity of the photocouplers and changing over the direction in which the motor 5013 is rotated. A member 5016 supports a cap member 5022, which is for capping the front side of the printing head. Suction means 5015 for applying suction to the cap subjects the cap to suction recovery via an opening 5023 inside the cap. A member 5019 makes it possible to move a cleaning blade 5017 back and forth. The cleaning blade 5017 and the member 5019 are supported on a support plate 5018. It goes without saying that the blade need not be of this type and that a well-known cleaning blade can be applied to this embodiment. A lever 5021, which is for starting the suction of the suction recovery operation, moves with movement of a cam 5020 engaged with the carriage. Movement is controlled by well-known transmission means whereby the driving force from the driver motor is changed over as by a clutch.

[0034] It is so arranged that the capping, cleaning and suction recovery operations are performed at the corresponding positions by the action of the lead screw 5005 when the carriage arrives in an area on the home-position side. However, if it is so arranged that the desired operations are performed at well-known timings, this arrangement can also be applied to this embodiment. Furthermore, the line-feed motor for rotating the platen 5000 and the like is not visible in FIG. 10 as it is hidden from view.

[0035]FIGS. 11A and 11B illustrate examples of the printing head portions of an ink-jet cartridge capable of being mounted on the ink-jet carriage IJC according to this embodiment. According to the embodiment, it is possible to mount a black ink-jet cartridge which, as shown in FIG. 11A, has a single longitudinal row of 64 nozzles, or a three color (yellow, magenta, cyan) ink-jet cartridge which, as shown in FIG. 11B, has 16 longitudinally arrayed nozzles for each of the three colors. Ink-jet cartridges of types other than these can be mounted as a matter of course. Regardless of the type of ink-jet cartridge used, the cartridge will have a group of electrodes for being connected to a group of electrodes provided on the ink-jet carriage IJC. Several of these electrodes are used to identify the type of cartridge.

[0036] With the single-color (black) ink-jet cartridge shown in FIG. 11A, the width of a band printed by a single scan of the carriage IJC is comparatively large. As a result, the length of the printing paper transported for a single scan also is comparatively large. This means that processing for printing one page can be executed at high speed. With the ink-jet cartridge of FIG. 11B, on the other hand, the printing paper is transported by length per scan commensurate with 16 nozzles and, as a consequence, the time needed to complete the printing of one page is lengthened correspondingly. However, color printing is possible. In any case, the processing executed within the printing apparatus 101 differs depending upon the type of ink cartridge.

[0037] Operation in regard to printing processing executed in the system of the embodiment set forth above will now be described.

[0038] As described above, the ROM 106 within the printing apparatus 101 of this embodiment stores only basic software for controlling the power supply of the printing apparatus, communication with the apparatus and a code indicative of the type of printing apparatus. This means that the apparatus is incapable of analyzing and printing print data using this information and data alone.

[0039] Accordingly, this embodiment of the invention is so adapted that before the host computer 102 outputs print data to the printing apparatus 101, the host computer sends the printing apparatus 101 a prescribed command to inquire about the status of the printing apparatus. Upon receiving the command, the printing apparatus 101 (or more specifically, the CPU 105 serving as the processing and control means) responds to the inquiry by sensing the type of mounted ink cartridge via the ink-cartridge type sensing unit 110, extracts the model type of the printing apparatus stored in the ROM 106 as well as information specifying the printing processing program currently stored in the RAM 107, and transmits the type of ink cartridge, the apparatus model information and the information specifying the processing program to the host computer 102 in a suitable format via the bidirectional interface. If a processing program does not presently exist in the memory, the printing apparatus 101 so notifies the host computer 102.

[0040] Upon receiving this information, the host computer 102 (or, more specifically, the CPU 113 for processing and control), in conformity with the type of ink cartridge and type of printing apparatus and in dependence upon the content of information to be printed (e.g., text only, text with color images, etc.), transfers the corresponding program from among the plurality of programs that have been stored in the storage device 115 to the printing apparatus 101. If a processing program already exists on the side of the printing apparatus 101 and can be used as is, the host computer 102 need not transfer a program to the printing apparatus 101.

[0041] If a processing program has been transferred to the printing apparatus 101, the printing apparatus 101 stores the program codes in the RAM 107. If another program exists in the printing apparatus 101 at this time, the printing apparatus 101 frees the area in which the program has been stored, clears the information specifying the stored program, loads the newly received from in the RAM 107 and updates the information specifying this program. When the storage of all program codes has been completed, processing shifts to the program that has just been stored in the RAM 107.

[0042] From this point onward, the printing apparatus 101 (CPU 105), in accordance with the downloaded program, receives print data (image data) from the host computer 102, outputs control signals to the CR motor control circuit 116, LF motor control circuit 117 and ink discharge control circuit 111 and executes printing of the received image data.

[0043] The details of the procedure of processing in accordance with the overview given above will now be described with reference to FIGS. 3 through 7.

[0044] If the user has selected the printing mode and print image and issued an instruction to start printing (step h1-1 in FIG. 3), the host computer 102 sends the connected printing apparatus 101 a signal requesting transmission of the printing apparatus model code, the code indicating the type of ink cartridge that has been loaded in the printing apparatus and the code identifying the engine program, which is for driving and controlling the printing apparatus 101, currently downloaded in the printing apparatus 101 (step h1-2).

[0045] Upon receiving the request signal, the printing apparatus 101 performs an operation in accordance with the flowchart of FIG. 4. More specifically, upon comprehending the inquiry at step p1-1 in FIG. 4, the printing apparatus 101 transmits the printing apparatus model code, the code indicating the type of ink cartridge that has been loaded in the printing apparatus and the code identifying the downloaded engine program to the host computer 102 in a predetermined format (step p1-2).

[0046] The processing executed on the side of the host computer will now be described in accordance with the flowchart of FIG. 5.

[0047] Upon receiving the signal sent from the printing apparatus 101 (step 2-1), the host computer 102 determines whether a processing program already exists on the side of the printing apparatus 101 (step h2-2).

[0048] If it is determined that a processing program already exists on the side of the printing apparatus 101, the host computer 102 determines whether this processing program is suitable for the type of ink cartridge loaded in the printing apparatus 101 and for the printing mode of the image that is to be printed (step h2-3).

[0049] If it is judged that a suitable processing program already exists in the printing apparatus 101, then processing proceeds to step h2-4, where the host computer 102 outputs the image suited to the loaded ink cartridge and printing mode to the printing apparatus 101, whereby the image is printed.

[0050] If a processing program does not exist in the printing apparatus 101, or if one exists but it is not appropriate, then the program proceeds to step h2-5. Here the host computer 102 retrieves the proper processing program from the memory device 115 and transfers it to the printing apparatus 101. Processing then proceeds to step h2-4, at which the print data is transferred to the printing apparatus 101.

[0051] Processing executed on the side of the printing apparatus 101 is shown in FIG. 6. If it is determined at step p2-1 of this flowchart that a processing program has been downloaded, the program proceeds to step p2-2. Here the processing program that has been downloaded is saved in the RAM 107.

[0052] Processing based upon print data is executed in accordance with the flowchart of FIG. 7. Specifically, upon receiving image data to be printed (step p3-1), the printing apparatus 101 starts up the already downloaded processing program and controls the carriage motor, the paper line-feed motor and the jetting of ink, thereby executing the printing of transferred image data (step p3-2).

[0053] With regard to an example of a method of deciding the processing program transferred to the printing apparatus 101, a table (or database) of the kind shown in FIG. 9 is stored in the memory device 115 of the host computer 102 and the processing program is specified by referring to the table.

[0054] Since model information specific to the printing apparatus 101 is transferred from the printing apparatus to the host computer 102, the processing programs are first narrowed down depending upon the model information (Printer A, PrinterB, . . . , in the example of FIG. 9). Next, processing programs that match the type of mounted cartridge are specified. As a result, one line of the table shown in FIG. 9 can be specified. Next, whether the processing program is to be for printing text, color or grayscale is determined in accordance with the content of the information that is to be printed. Then, in accordance with pointers (addresses) that have been stored in the respective cells of the table, the proper processing program is fetched from a separately provided processing program database and the fetched program is transferred to the printing apparatus 101.

[0055] It should be noted that “xxxxx” in the table of FIG. 9 corresponds to the pointer (address or file name) of the respective program. Naturally there are cases where the pointers differ. Further, if a cartridge “001”, for example, is a monochromatic ink cartridge but the information to be printed is color information, it goes without saying that color cannot be printed. When a color image is received, however, a processing program which will execute the appropriate processing (conversion processing) and print the data in black and white will be allocated.

[0056] Thus, in accordance with the first embodiment as described above, the memory on the side of the printing apparatus need only be of minimal storage capacity. Moreover, processing suitable for a number of ink cartridges and a variety of print information can be executed despite the small capacity of the memory.

[0057] Furthermore, any type of ink cartridge can be used so long as it is an ink-jet cartridge capable of being mounted on the carriage in the printing section. For example, the printing apparatus will be capable of supporting future ink-jet cartridges provided with a printing head having a resolution higher than that currently available. In such case it will be necessary to record the proper program in the host computer.

[0058] In the embodiment described above, the command requesting transfer of the status of the printing apparatus 101 is issued when the printing phase is attained, namely when printing execution of printing is instructed by the application running on the host computer. However, the present invention is not limited to such an arrangement. For example, an arrangement may be adopted in which the CPU 105 on the side of the printing apparatus 101 notifies the host computer 102 of information, such as the information of cartridge type obtained via the ink cartridge type sensor 110, when power is introduced to the printing apparatus 101. In such case the host computer would execute processing in accordance with the flowchart of FIG. 4 upon receiving the information.

[0059] It is of course permissible to adopt an arrangement in which the status information is sent to the host computer not when power is introduced but when one ink cartridge is exchanged for another.

[0060] It should be noted that the printing apparatus 101 in the first embodiment initially operates in accordance with the program in the ROM 106 when power is first introduced. If a processing program is then downloaded from the host computer 102 and print data is actually received, operation shifts to that in accordance with the processing program that has been downloaded. Accordingly, it is necessary to return control to the ROM 106 at an appropriate timing. Though a variety of techniques maybe contemplated for achieving this, the simplest is to design all processing programs registered in the host computer 102 to return control to the ROM 106 if a series of printing processing steps has been completed and no print data is received upon elapse of a predetermined period of time. In other words, it is so arranged that in order to start up a processing program from the ROM 106, the leading address of the stored processing program is called. It goes without saying that the invention is not limited to this method and that other methods may also be used.

[0061] The operation of a second embodiment of the present invention shown in FIG. 8 will now be described.

[0062] If the user verifies the type of ink cartridge beforehand, bidirectional communication used in the printing system of the first embodiment will be unnecessary and it will suffice to employ a unidirectional communication interface capable of performing communication from the host computer to the printing apparatus. In such case image data is sent from the host computer to the printing apparatus along with the processing program suitable for printing of the image. The printing apparatus that has received this data and information saves the transferred processing program in its memory, until the end of the processing program is recognized, and starts up the program. The printing apparatus controls the carriage motor, line-feed motor and ink discharge and executes the printing of developed image data sent to it in successive fashion.

[0063] In accordance with this embodiment, as described above, only the basic software for controlling the power supply of the printing apparatus and communication and the code identifying the type of printing apparatus need be stored in the storage device of the printing apparatus. The printing apparatus need only have a memory large enough to store the minimum necessary software selected based upon the combination of ink cartridge type and printing method. This means that it will suffice if the printing apparatus has a small storage capacity. One result is a reduction in the cost of the printing apparatus. Moreover, if spare identification codes for identifying ink cartridges of a plurality of new types are prepared beforehand, then a printing method suited to a new type of ink cartridge can be supported without physically replacing the storage device with which the printing apparatus comes equipped. This makes it possible to improve the functionality of the printing apparatus in simple fashion.

[0064] Though not specifically described in the first and second embodiments, the information transferred from the host computer to the printing apparatus includes print data and non-print data (combination information, processing programs, etc.), wherein the non-print data has a header provided with a special control command that makes it possible to sense that the data is not print data. In a case where the amount of information in the non-print data has a suitable length, the end of the non-print data can be discriminated by transferring this length of information.

[0065] Further, it is described in the embodiments that a processing program that has been downloaded from the host computer is stored in a RAM. However, it is preferred that the memory be a writable non-volatile memory (e.g., a flash memory or an EEPROM), by way of example. In such case the previous program will be retained in memory even when the power supply is turned off. When printing of the same type is performed, therefore, the printing can be carried out without downloading the processing program again.

[0066] Further, it is described in the embodiments that image data is transferred as print data from the host computer 102 to the printing apparatus. However, the data transferred may include character codes or the like. In such case font data for generating character fonts on the side of the printing apparatus would be downloaded from the host computer or a font ROM would be provided in the printing apparatus beforehand. In a configuration in which an ink cartridge is combined with a printing head and the spacing (resolution) of nozzles mounted on printing heads differs for each cartridge, it is better to create character patterns having different numbers of dots using a single type of font data. It is preferred, therefore, that the printing apparatus be provided with a ROM in which scalable font data has been stored. Outline fonts or the like may be used as scalable fonts.

[0067] A third embodiment of the present invention will now be described.

[0068] In accordance with the second embodiment, a program to be downloaded is specified by the user. If the user forgets to specify such downloading, however, printing cannot be carried out.

[0069] Accordingly, as shown in FIG. 12, a control panel 120 provided on the printing apparatus 101 is equipped with an LED 121 which indicates whether a program for printing processing exists in the printing apparatus. If a program has not been downloaded, the LED 121 is lit to notify the user of the fact that printing cannot be performed. Other alarm means such as a buzzer may be provided and activated when a program is not present in the printing apparatus.

[0070] A fourth embodiment of the present invention will now be described.

[0071] The first embodiment relates to an example in which an ink cartridge is mounted on the carriage of a printing apparatus. However, in a case where the printing apparatus according to this embodiment has been connected to a host computer by an interface capable of bidirectional communication, it is possible to make the printing apparatus function as an image scanner by mounting an image scanner cartridge, which reads the image on a document, on the carriage.

[0072]FIG. 14A is a perspective view showing a scanner cartridge for optically reading a document according to the fourth embodiment, and FIG. 14B is a perspective view showing an ink cartridge according to the fourth embodiment. Each cartridge is provided with a board having a plurality of electrode terminals which send and receive various signals. Several of the electrode terminals are used to indicate the type of cartridge in a manner similar to that of the first embodiment. For example, if the scanner cartridge has been mounted on the carriage, then identification information obtained from the scanner cartridge is reported to the host computer. In accordance with the identification information reported, the host computer transfers a program for implementing the functions of an image scanner to the erstwhile “printing apparatus”, which now has been made to function as an image scanner. The host computer then issues a read command of the generally known type. The scanner (the former printing apparatus now functions as the scanner) operates in accordance with a downloaded program. That is, the scanner reads a document by causing the carriage to move back and forth relative to a set document in a manner similar to that at the time of a printing operation.

[0073] In order to prepare for a time in the future when a new type of cartridge is developed and mounted on the carriage, the carriage is provided with several reserved electrode terminals for cartridge identification. This is the same as the arrangements of the first through third embodiments. However, in a case where an identifying barcode, for example, has been affixed to a cartridge, optical reading means should be adopted as the ink-cartridge type sensing unit 110. This would be apparent to one having skill in the art.

[0074] That the array of nozzles of an ink cartridge differs depending upon the type of cartridge has already been explained. Through two types of nozzle arrays are illustrated in FIGS. 11A and 11B, the nozzle arrays are in no way limited to those illustrated. In order to make possible faster printing even with a monochrome cartridge, nozzles arrayed in two or more longitudinally rows can be provided. As a result, the printing of an image will distributed among the plural nozzle arrays. If the driving period for any one nozzle is kept the same (though a time interval of a certain duration must be provided), it will be possible to print an image by moving the carriage back and forth at twice the speed or more. Further, in the case of a color image, printing quality is improved by performing printing using four colors, i.e., by using the color black along with the usual three colors of yellow, magenta and cyan. The reason for this is that though mixing the colors yellow, magenta and cyan results in black theoretically, true black is difficult to obtain. Accordingly, a head having four color components and the corresponding ink tanks may be mounted on a single ink cartridge.

[0075] The types of ink cartridges available are not limited to those mentioned above. That is, available ink cartridges include a photographic cartridge containing ink having a density that is lower than usual for reproducing an image quality equivalent to that of a silver-chloride photograph by scanning the same line a plurality of times to perform printing, and an ink cartridge of multiple-drop type having a plurality of heater boards that cause ink to foam in order to modulate the size of discharged ink droplets. There is also the possibility that new types of cartridges will be developed in the future through technological innovation. Even if such novel cartridges are designed, merely providing the necessary programs to a user so that the user may register the programs in his or her own personal computer will make it possible for the user to employ cartridges of the latest type. It will also be possible for the printing apparatus of the embodiments to be reborn as printers exhibiting renovated functionality.

[0076] The present invention can be applied to a system constituted by a plurality of devices (e.g., a host computer, interface, reader, printer, etc.) or to an apparatus comprising a single device (e.g., a copier or facsimile machine, etc.).

[0077] Further, it goes without saying that the object of the present invention can also be achieved by providing a storage medium storing program codes for performing the aforesaid functions of the foregoing embodiment to a system or an apparatus, reading the program codes with a computer (e.g., a CPU or MPU) of the system or apparatus from the storage medium, and then executing the program.

[0078] In the first through fourth embodiments, processing executed by the host computer is important and the host computer, which is represented generally by a personal computer, is supplied with a printer driver so that printing can be carried out.

[0079] It is obvious that processing on the side of the host computer may be implemented by software, namely by the printer driver.

[0080] Further, in a case where a new type of ink-jet cartridge capable of being mounted on the printing apparatus 101 of this embodiment is developed, it is of course necessary to download a program specific to this cartridge to the printing apparatus. In other words, it is necessary to register this program in the host computer.

[0081] In this case, a prescribed utility program is started up to display a program registration dialog box of the kind shown in FIG. 13. A printing medium such as a floppy disk storing the desired processing program is inserted into the host computer to make possible the registration of the program.

[0082] It is obvious that the present invention can be implemented by externally supplying the above-mentioned utility program, the printer driver and the program for the printing apparatus.

[0083] In this case, the program codes read from the storage medium implement the functions according to the embodiment, and the storage medium storing the program codes constitutes the invention.

[0084] The storage medium, such as a floppy disk, hard disk, optical disk, magneto-optical disk, CD-ROM, CD-R, magnetic tape, non-volatile type memory card or ROM can be used to provide the program codes.

[0085] Furthermore, besides the case where the aforesaid functions according to the embodiments are implemented by executing the program codes read by a computer, it goes without saying that the present invention covers a case where an operating system or the like working on the computer performs a part of or the entire process in accordance with the designation of program codes and implements the functions according to the embodiment.

[0086] Furthermore, it goes without saying that the present invention further covers a case where, after the program codes read from the storage medium are written to a function extension board inserted into the computer or to a memory provided in a function extension unit connected to the computer, a CPU or the like contained in the function extension board or function extension unit performs a part of or the entire process in accordance with the designation of program codes and implements the function of the above embodiments.

[0087] Thus, in accordance with the present invention, as described above, there is provided a readily expandable printing apparatus capable of being applied to a number of types of printing processing through use of a small memory capacity.

[0088] As many apparently widely different embodiments of the present invention can be made without departing from the spirit and scope thereof, it is to be understood that the invention is not limited to the specific embodiments thereof except as defined in the appended claims. 

What is claimed is:
 1. A printing apparatus for printing an image using prescribed printing means based upon print data that has been transferred from a host, comprising: storage means for storing, in a prescribed memory, a processing program that has been transferred from the host; and control means for causing the print data to be processed in accordance with a processing program, which has been stored by said storage means, if the print data has been transferred from the host.
 2. The apparatus according to claim 1, further comprising: determination means for determining whether the host has issued a transfer request which requests transfer of functional status of the printing means; and transfer means for transferring the functional status of the printing means to the host if said determination means has determined that the transfer request has been issued.
 3. The apparatus according to claim 2, wherein the functional status of the printing means is information specifying an ink cartridge that has been mounted on the printing means and information specifying the printing apparatus itself.
 4. A method of controlling a printing apparatus for printing an image using prescribed printing means based upon print data that has been transferred from a host, comprising: a storage step of storing, in a prescribed memory, a processing program that has been transferred from the host; and a control step of causing the print data to be processed in accordance with a processing program, which has been stored by said storage step, if the print data has been transferred from the host.
 5. An information processing apparatus for transferring print information to a printing apparatus subordinate to the information processing apparatus, comprising: program storing means for storing a plurality of programs capable of being run at least by the printing apparatus; retrieval means for retrieving a program from among the programs stored by said program storing means in dependence upon functional status of printing means possessed by the printing apparatus; and transfer means for transferring the program retrieved by said retrieval means to the printing apparatus.
 6. The information processing apparatus according to claim 5, further comprising: transmitting means for transmitting a transfer request signal, which transfers request of the functional status of the printing means, to the printing apparatus; and means for receiving the functional status from the printing apparatus after the transfer request signal has been transmitted by said transmitting means.
 7. The information processing apparatus according to claim 5, further comprising sensing means for sensing content of information to be printed, wherein said retrieval means additionally retrieves the content of the information.
 8. The information processing apparatus according to claim 5, wherein the functional status of said printing means includes type of head that has been installed in the printing apparatus.
 9. The information processing apparatus according to claim 8, wherein types of heads include an image scanner head.
 10. A method of controlling an information processing apparatus for transferring print information to a printing apparatus subordinate to the information processing apparatus, comprising: a retrieval step of retrieving a program from program storing means, which stores a plurality of programs capable of being run by the printing apparatus, in dependence upon functional status of printing means possessed by the printing apparatus; and a transfer step of transferring the program retrieved by said retrieval step to the printing apparatus.
 11. The information processing apparatus according to claim 10, wherein the functional status of said printing means includes type of head that has been installed in the printing apparatus.
 12. The information processing apparatus according to claim 11, wherein types of heads include an image scanner head.
 13. A storage medium storing program codes which, by being read in and executed by a computer, perform the functions of an information processing apparatus for transferring print information to a printing apparatus connected as a subordinate device, said storage medium comprising: a program code of a retrieval step of retrieving a program from program storing means, which stores a plurality of programs capable of being run by the printing apparatus, in dependence upon functional status of printing means possessed by the printing apparatus; and a program code of a transfer step of transferring the program retrieved by said retrieval step to the printing apparatus.
 14. A system comprising a printing apparatus and an information processing apparatus for outputting print data to said printing apparatus, said information processing apparatus including: storage means for storing a plurality of programs capable of being executed by said printing means; sensing means for sensing status of said printing apparatus and outputting status information indicative of the status sensed; and transfer means for selecting one program, which has been stored in said storage means, based upon the status information output by said sensing means, and transferring the selected program to said printing apparatus; and said printing apparatus including: notification means for notifying said information processing apparatus of status information indicating the status of the printing apparatus; writing means for writing the program, which has been transferred from said information processing apparatus, to a memory; and control means for applying processing to the program that has been written to the memory.
 15. The system according to claim 14, further comprising registering means for registering a new program in said storage means.
 16. A method of controlling a system comprising a printing apparatus and an information processing apparatus for outputting print data to said printing apparatus, said method comprising the following steps implemented by said information processing apparatus: a sensing step of sensing status of said printing apparatus and outputting status information indicative of the status sensed; and a transfer step of selecting one program, which has been stored in prescribed storage means, based upon the status information output by said sensing step, and transferring the selected program to said printing apparatus; and the following steps executed by said printing apparatus: a notification step of notifying said information processing apparatus of status information indicating the status of the printing apparatus; a writing step of writing the transferred program to a memory; and a control step of applying processing to the program that has been written to the memory.
 17. The method according to claim 16, further comprising a registering step of registering a new program in said storage means.
 18. A storage medium storing program codes which implement functions of a system comprising a printing apparatus and an information processing apparatus for outputting print data to said printing apparatus, said program codes comprising: a program code of a sensing step of sensing status of said printing apparatus and outputting status information indicative of the status sensed; and a program code of a transfer step of selecting one program, which has been stored in prescribed storage means, based upon the status information output by said sensing step, and transferring the selected program to said printing apparatus.
 19. The storage medium according to claim 18, further comprising a program code of a registering step of registering a new program in said storage means. 